﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыОперацийСписаниеБезналичныхДенежныхСредств
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"c01ae3dc-c9eb-4860-84ed-1ce600ccd1fa\", \"Представление\":\"ОплатаПоставщику\"}")]
		ОплатаПоставщику = 0,//Оплата поставщику
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"3008facd-27ff-4971-832e-89800a2c4b37\", \"Представление\":\"ВозвратДенежныхСредствПокупателю\"}")]
		ВозвратДенежныхСредствПокупателю = 1,//Возврат денежных средств покупателю
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"756df7fb-47f2-4e5b-85fc-bcd7874c702e\", \"Представление\":\"ПеречислениеНалога\"}")]
		ПеречислениеНалога = 2,//Перечисление налога
		[EnumMember(Value = "{\"Ссылка\":\"45eab9e7-dcbf-4ecd-ba67-4ef34ef28619\", \"Представление\":\"РасчетыПоКредитамИЗаймам\"}")]
		РасчетыПоКредитамИЗаймам = 3,//Расчеты по кредитам и займам
		[EnumMember(Value = "{\"Ссылка\":\"b7334ce2-a3d5-4351-9659-30d00566e8f5\", \"Представление\":\"ПрочиеРасчетыСКонтрагентами\"}")]
		ПрочиеРасчетыСКонтрагентами = 4,//Прочие расчеты с контрагентами
		[EnumMember(Value = "{\"Ссылка\":\"0963b1f1-5eb0-4233-b102-a90573b1e53e\", \"Представление\":\"ПереводНаДругойСчет\"}")]
		ПереводНаДругойСчет = 5,//Перевод на другой счет
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"b1ca288d-d3da-4806-9b39-d93155fb4178\", \"Представление\":\"ПеречислениеЗП\"}")]
		ПеречислениеЗП = 6,//Перечисление заработной платы
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"9e68ce90-2461-4cd2-9bfb-e7dff58d8b13\", \"Представление\":\"ПеречислениеДенежныхСредствПодотчетнику\"}")]
		ПеречислениеДенежныхСредствПодотчетнику = 7,//Перечисление денежных средств подотчетнику
		[EnumMember(Value = "{\"Ссылка\":\"280366e2-9a22-4458-9906-06564b4d8a85\", \"Представление\":\"ПрочееСписаниеБезналичныхДенежныхСредств\"}")]
		ПрочееСписаниеБезналичныхДенежныхСредств = 8,//Прочее списание безналичных денежных средств
	}
	public static partial class ВидыОперацийСписаниеБезналичныхДенежныхСредств_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОплатаПоставщику = new Guid("e61ced84-cc00-fad1-4860-c9ebc01ae3dc");//Оплата поставщику
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратДенежныхСредствПокупателю = new Guid("80892e83-2c0a-374b-4971-27ff3008facd");//Возврат денежных средств покупателю
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПеречислениеНалога = new Guid("d7bcfc85-4c87-2e70-4e5b-47f2756df7fb");//Перечисление налога
		public static readonly Guid РасчетыПоКредитамИЗаймам = new Guid("f34e67ba-f24e-1986-4ecd-dcbf45eab9e7");//Расчеты по кредитам и займам
		public static readonly Guid ПрочиеРасчетыСКонтрагентами = new Guid("d0305996-6605-f5e8-4351-a3d5b7334ce2");//Прочие расчеты с контрагентами
		public static readonly Guid ПереводНаДругойСчет = new Guid("05a902b1-b173-3ee5-4233-5eb00963b1f1");//Перевод на другой счет
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПеречислениеЗП = new Guid("31d9399b-fb55-7841-4806-d3dab1ca288d");//Перечисление заработной платы
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПеречислениеДенежныхСредствПодотчетнику = new Guid("dfe7fb9b-8df5-138b-4cd2-24619e68ce90");//Перечисление денежных средств подотчетнику
		public static readonly Guid ПрочееСписаниеБезналичныхДенежныхСредств = new Guid("56060699-4d4b-858a-4458-9a22280366e2");//Прочее списание безналичных денежных средств
		public static ВидыОперацийСписаниеБезналичныхДенежныхСредств Получить(this ВидыОперацийСписаниеБезналичныхДенежныхСредств Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийСписаниеБезналичныхДенежныхСредств Получить(this ВидыОперацийСписаниеБезналичныхДенежныхСредств Значение, Guid Ссылка)
		{
			if(Ссылка == ОплатаПоставщику)
			{
				return ВидыОперацийСписаниеБезналичныхДенежныхСредств.ОплатаПоставщику;
			}
			else if(Ссылка == ВозвратДенежныхСредствПокупателю)
			{
				return ВидыОперацийСписаниеБезналичныхДенежныхСредств.ВозвратДенежныхСредствПокупателю;
			}
			else if(Ссылка == ПеречислениеНалога)
			{
				return ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПеречислениеНалога;
			}
			else if(Ссылка == РасчетыПоКредитамИЗаймам)
			{
				return ВидыОперацийСписаниеБезналичныхДенежныхСредств.РасчетыПоКредитамИЗаймам;
			}
			else if(Ссылка == ПрочиеРасчетыСКонтрагентами)
			{
				return ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПрочиеРасчетыСКонтрагентами;
			}
			else if(Ссылка == ПереводНаДругойСчет)
			{
				return ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПереводНаДругойСчет;
			}
			else if(Ссылка == ПеречислениеЗП)
			{
				return ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПеречислениеЗП;
			}
			else if(Ссылка == ПеречислениеДенежныхСредствПодотчетнику)
			{
				return ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПеречислениеДенежныхСредствПодотчетнику;
			}
			else if(Ссылка == ПрочееСписаниеБезналичныхДенежныхСредств)
			{
				return ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПрочееСписаниеБезналичныхДенежныхСредств;
			}
			return ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийСписаниеБезналичныхДенежныхСредств Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийСписаниеБезналичныхДенежныхСредств Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийСписаниеБезналичныхДенежныхСредств.ОплатаПоставщику: return ОплатаПоставщику;
				case ВидыОперацийСписаниеБезналичныхДенежныхСредств.ВозвратДенежныхСредствПокупателю: return ВозвратДенежныхСредствПокупателю;
				case ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПеречислениеНалога: return ПеречислениеНалога;
				case ВидыОперацийСписаниеБезналичныхДенежныхСредств.РасчетыПоКредитамИЗаймам: return РасчетыПоКредитамИЗаймам;
				case ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПрочиеРасчетыСКонтрагентами: return ПрочиеРасчетыСКонтрагентами;
				case ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПереводНаДругойСчет: return ПереводНаДругойСчет;
				case ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПеречислениеЗП: return ПеречислениеЗП;
				case ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПеречислениеДенежныхСредствПодотчетнику: return ПеречислениеДенежныхСредствПодотчетнику;
				case ВидыОперацийСписаниеБезналичныхДенежныхСредств.ПрочееСписаниеБезналичныхДенежныхСредств: return ПрочееСписаниеБезналичныхДенежныхСредств;
			}
			return Guid.Empty;
		}
	}
}